package 第十一章_网络编程.服务端_客户端_echo实例;

import com.sun.security.ntlm.Server;

import javax.xml.ws.Service;
import java.io.*;
import java.net.ServerSocket;
import java.net.Socket;

public class 服务端 {
    public static void main(String [] args) throws IOException {
        //服务端和客户端通信常用类（端口1024-65535）
        //创建一个服务器对象用于通信端口号6666
        ServerSocket sever=new ServerSocket(6666);
        System.out.println("服务器已启动，正在等待客户端的连接...");
        //创建 一个服务器拼接字对象 接收和输出 客户端信息
        //accept用来阻塞 和等待接收信息 （串联）
        final Socket socket = sever.accept();
        System.out.println("客户端连接成功..."+sever.getInetAddress().getHostAddress());
        //创建 一个缓冲字符读取流对象br   接收   缓冲字符读取流（字符打包 <- 字符读取流（字节转字符） <- 服务器拼接字对象socket.输入字节流
        BufferedReader br=new BufferedReader(new InputStreamReader(socket.getInputStream()));
        //创建 字符串对象info 接收 缓冲字符流对象br的一行字符串
        String info =br.readLine();
        System.out.println(info);

        //输出给客户端
        PrintStream ps=new PrintStream(new BufferedOutputStream(socket.getOutputStream()));
        ps.println("echo: "+info);
        ps.flush();
        ps.close();

    }
}
